package battledo

import "wails/schema/enums/battleenum"

// @schema_export --ident=schema --json --config=场景支援
// @schema_go
// @schema_ts
// @cache_ts
// @alias 场景支援
type D场景支援 struct {
	// @alias 玩家
	W玩家 string `link:"场景玩家" alias:"玩家"`
	// @alias 名称
	M名称 string `alias:"名称"`
	// 指定行走路径，通常用于塔防类世界
	// @alias 行走路径
	L行走路径 string `link:"场景路径" alias:"行走路径"`
	// @alias 禁用
	J禁用 bool `alias:"禁用"`
	// @alias 到达时间
	D到达时间 float64 `alias:"到达时间"`
	// @alias 到达区域
	D到达区域 map[string]string `link:"场景区域" alias:"区域"`
	// 每次出兵的单位集合
	// @alias 单位集
	D单位集 []*S场景支援_单位 `alias:"单位集"`
	// 场景中的最大数量
	// @alias 最大单位数量
	Z最大单位数量 int `alias:"最大单位数量"`
	// @alias 出兵次数
	C出兵次数 int `alias:"出兵次数"`
	// @alias 出兵间隔
	C出兵间隔 float64 `alias:"出兵间隔"`
	// 开启后，经过【持续时间】，支援强制结束。
	// @alias 持续时间
	C持续时间 float64 `alias:"持续时间"`
	// 支援中的存活单位数量大于或等于【暂停单位计数】将暂停出兵
	// @alias 暂停单位计数
	T暂停单位计数 float64 `alias:"暂停单位计数"`
	// 支援中的存活单位数量小于【恢复单位计数】将恢复出兵
	// @alias 恢复单位计数
	H恢复单位计数 float64 `alias:"恢复单位计数"`
	// @alias 结束模式
	J结束模式 battleenum.E结束模式 `alias:"结束模式"`
	// @alias 结束奖励
	J结束奖励 int `link:"奖励" alias:"结束奖励"`
	// @alias 结束重置
	C结束重置 *S场景支援_结束重置支援
	// @alias 后续支援
	X后续支援 string `link:"场景支援" alias:"后续支援"`
	// 触发后续支援后，间隔[后续时间]后到达
	// @alias 后续时间
	X后续时间 float64 `alias:"后续时间"`
}
type S场景支援_结束重置支援 struct {
	// @alias 允许
	Y允许 bool `alias:"允许"`
	// 可重复的最大次数
	// @alias 最大次数
	X最大次数 int `alias:"最大次数"`
	// 上一次支援结束后，经过【间隔时长】，才开始新的支援
	// @alias 间隔时长
	J间隔时长 float64 `alias:"间隔时长"`
}

type S场景支援_单位 struct {
	// @alias 单位
	D单位 string `link:"单位" alias:"单位"`
	// @alias 等级
	D等级 int `alias:"等级"`
	// 每波次出兵的数量
	// @alias 数量
	Z数量 int `alias:"数量"`
	// @alias 开始次数
	K开始次数 int `alias:"开始次数"`
	// @alias 间隔次数
	J间隔次数 int `alias:"间隔次数"`
}

type S场景支援_武器 struct {
	// @alias 武器
	W武器 string `link:"武器" alias:"武器"`
	// @alias 等级
	D等级 int `alias:"等级"`
}

type S场景支援_技能 struct {
	// @alias 技能
	J技能 string `link:"技能" alias:"技能"`
	// @alias 等级
	D等级 int `alias:"等级"`
}
